unit uFrmRelListarProduto;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, QuickRpt, ExtCtrls, QRCtrls, Uni, Generics.Collections, DB,
  DBTables, FMTBcd, SqlExpr, MemDS, DBAccess, uRelatorios, uCalculo;

type
  TfrmRelListagemProduto = class(TForm)
    UniQuery: TUniQuery;
    qrListagemProduto: TQuickRep;
    PageHeaderBand1: TQRBand;
    QRLabel3: TQRLabel;
    QRSysData2: TQRSysData;
    QRSysData3: TQRSysData;
    QRLabel4: TQRLabel;
    QRShape1: TQRShape;
    PageFooterBand1: TQRBand;
    QRShape2: TQRShape;
    QRSysData1: TQRSysData;
    QRSysData4: TQRSysData;
    ColumnHeaderBand2: TQRBand;
    QRShape3: TQRShape;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRSubDetail2: TQRSubDetail;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRGroup1: TQRGroup;
    QRDBText3: TQRDBText;
    QRDBText2: TQRDBText;
    UniQuerycodgrupoproduto: TIntegerField;
    UniQuerygnome: TStringField;
    UniQueryidproduto: TIntegerField;
    UniQuerydescricao: TStringField;
    qrImagem: TQRImage;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    Calculo          : TCalculo;
  public
    { Public declarations }
    procedure ConfiguraConexaoQuery;
  end;

var
  frmRelListagemProduto: TfrmRelListagemProduto;

implementation

uses uDmUniSQLConexao;

{$R *.dfm}


procedure TfrmRelListagemProduto.ConfiguraConexaoQuery;
{var
  item     : TProduto;
  lista    : TList<TProduto>;   }
begin
  { try
     lista               := TList<TProduto>.Create;
     UniQuery.Connection := dmUniSQLConexao.UniConnection;

     UniQuery.Close;
     UniQuery.SQL.Clear;

     UniQuery.SQL.Add('select codgrupoproduto, grupoproduto.nome as gnome, idproduto, descricao  from produto ');
     UniQuery.SQL.Add('inner join grupoproduto on ( grupoproduto.idgrupoproduto = produto.codgrupoproduto ) ');
     UniQuery.SQL.Add('order by codgrupoproduto ');

     UniQuery.Open;

     if not uniQuery.IsEmpty then
      begin
         while not uniQuery.Eof do
          begin
             item := TSaldoProduto.create;
             lista.Add(item);

             lista.Items[lista.Count-1].Produto.codGrupoProduto.idGrupoProduto  := UniQuery.FieldByName('codgrupoproduto').AsInteger;
             lista.Items[lista.Count-1].Produto.codGrupoProduto.nome            := UniQuery.FieldByName('gnome').AsString;
             lista.Items[lista.Count-1].Produto.idProduto                       := uniQuery.FieldByName('idproduto').AsInteger;
             lista.Items[lista.Count-1].Produto.descricao                       := uniQuery.FieldByName('descricao').AsString;

             uniQuery.Next;
          end;
      end;
   except on e: exception do
    begin
       lista := nil;
    end;
   end;
       }
end;


procedure TfrmRelListagemProduto.FormCreate(Sender: TObject);
begin
//  ConfiguraConexaoQuery;
  Calculo  := TCalculo.Create;

  Calculo.GeraBarrasEAN13('7898486472373', qrImagem.Canvas)


end;

end.
